package savet.entidades.atributos;

/**
 *
 * @author Adisson Marinho
 */
public class Dependente {

    private Periodo periodo;
    private int quantidade;

    public Dependente(Periodo periodo, int quantidade) {
        this.periodo = periodo;
        this.quantidade = quantidade;
    }

    public Dependente() {
        this(new Periodo(), 0);
    }

    public Periodo getPeriodo() {
        return periodo;
    }

    public void setPeriodo(Periodo periodo) {
        this.periodo = periodo;
    }

    public int getQuantidade() {
        return quantidade;
    }

    public void setQuantidade(int quantidade) {
        this.quantidade = quantidade;
    }

    public boolean hasDependentes() {
        return quantidade > 0;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Dependente other = (Dependente) obj;
        if (this.quantidade != other.quantidade) {
            return false;
        }
        if (this.periodo != other.periodo && (this.periodo == null || !this.periodo.equals(other.periodo))) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 5;
        hash = 79 * hash + this.quantidade;
        hash = 79 * hash + (this.periodo != null ? this.periodo.hashCode() : 0);
        return hash;
    }

    @Override
    public String toString() {
        return quantidade + " dependentes em " + periodo;
    }
    
}
